﻿//using ReporterEngine;
//using Microsoft.VisualStudio.TestTools.UnitTesting;
//using System;
//using System.Collections.Generic;
//using System.Collections;

//namespace ReportEngine_TestProject
//{
    
    
//    /// <summary>
//    ///This is a test class for sQueryTest and is intended
//    ///to contain all sQueryTest Unit Tests
//    ///</summary>
//    [TestClass()]
//    public class sQueryTest
//    {


//        private TestContext testContextInstance;

//        /// <summary>
//        ///Gets or sets the test context which provides
//        ///information about and functionality for the current test run.
//        ///</summary>
//        public TestContext TestContext
//        {
//            get
//            {
//                return testContextInstance;
//            }
//            set
//            {
//                testContextInstance = value;
//            }
//        }

//        #region Additional test attributes
//        // 
//        //You can use the following additional attributes as you write your tests:
//        //
//        //Use ClassInitialize to run code before running the first test in the class
//        //[ClassInitialize()]
//        //public static void MyClassInitialize(TestContext testContext)
//        //{
//        //}
//        //
//        //Use ClassCleanup to run code after all tests in a class have run
//        //[ClassCleanup()]
//        //public static void MyClassCleanup()
//        //{
//        //}
//        //
//        //Use TestInitialize to run code before running each test
//        //[TestInitialize()]
//        //public void MyTestInitialize()
//        //{
//        //}
//        //
//        //Use TestCleanup to run code after each test has run
//        //[TestCleanup()]
//        //public void MyTestCleanup()
//        //{
//        //}
//        //
//        #endregion


//        ///// <summary>
//        /////A test for sQuery Constructor
//        /////</summary>
//        //[TestMethod()]
//        //public void sQueryConstructorTest()
//        //{
//        //    sQuery target = new sQuery();
//        //    Assert.Inconclusive("TODO: Implement code to verify target");
//        //}


//        /// <summary>
//        ///A test for GetProperties
//        ///</summary>
//        [TestMethod()]
//        public void GetPropertiesTest()
//        {
//            var model = utils.GetSampleModel();

//            sQuery target = utils.GetSampleUseCaseModel(model);
//            string propertyNames = "subject"; // TODO: Initialize to an appropriate value

//            sQuery actual;
//            actual = target.GetProperties(propertyNames);

//            Assert.AreEqual(15, actual.Elements.Count);            
//        }

//        ///// <summary>
//        /////A test for GetTypes
//        /////</summary>
//        //[TestMethod()]
//        //public void GetTypesTest()
//        //{
//        //    sQuery target = new sQuery(); // TODO: Initialize to an appropriate value
//        //    string propertyName = string.Empty; // TODO: Initialize to an appropriate value
//        //    sQuery expected = null; // TODO: Initialize to an appropriate value
//        //    sQuery actual;
//        //    actual = target.GetTypes(propertyName);
//        //    Assert.AreEqual(expected, actual);
//        //    Assert.Inconclusive("Verify the correctness of this test method.");
//        //}

//        ///// <summary>
//        /////A test for GetValue
//        /////</summary>
//        //[TestMethod()]
//        //public void GetValueTest()
//        //{
//        //    sQuery target = new sQuery(); // TODO: Initialize to an appropriate value
//        //    string expected = string.Empty; // TODO: Initialize to an appropriate value
//        //    string actual;
//        //    actual = target.GetValue();
//        //    Assert.AreEqual(expected, actual);
//        //    Assert.Inconclusive("Verify the correctness of this test method.");
//        //}

//        ///// <summary>
//        /////A test for New
//        /////</summary>
//        //[TestMethod()]
//        //public void NewTest()
//        //{
//        //    CIFModel model = null; // TODO: Initialize to an appropriate value
//        //    sQuery expected = null; // TODO: Initialize to an appropriate value
//        //    sQuery actual;
//        //    actual = sQuery.New(model);
//        //    Assert.AreEqual(expected, actual);
//        //    Assert.Inconclusive("Verify the correctness of this test method.");
//        //}

     
//        ///// <summary>
//        /////A test for childs
//        /////</summary>
//        //[TestMethod()]
//        //public void childsTest()
//        //{
//        //    sQuery target = new sQuery(); // TODO: Initialize to an appropriate value
//        //    sQuery expected = null; // TODO: Initialize to an appropriate value
//        //    sQuery actual;
//        //    actual = target.childs();
//        //    Assert.AreEqual(expected, actual);
//        //    Assert.Inconclusive("Verify the correctness of this test method.");
//        //}

//        /// <summary>
//        ///A test for count
//        ///</summary>
//        [TestMethod()]
//        public void countTest()
//        {
//            var model = utils.GetSampleModel();

//            sQuery target = utils.GetSampleUseCaseModel(model);
//            string parameter = ""; // TODO: Initialize to an appropriate value

//            sQuery actual;
//            actual = target.count(parameter);

//            Assert.AreEqual("15", actual.Value);       
//        }



//        /// <summary>
//        ///A test for distinct
//        ///</summary>
//        [TestMethod()]
//        public void distinctTest()
//        {
//            var model = utils.GetSampleModel();

//            string typeNames = "Use Case Model";

//            var target = sQuery.New(model);

//            var actual = target.types(typeNames);
//            var actualResultCount = actual.Elements.Count;

//            Assert.AreEqual(15, actualResultCount, "invalid number of inputs");

//            actual.Elements.AddRange(actual.Elements);

//            var actualdistinct = actual.distinct("");
//            var actualdistinctlResultCount = actualdistinct.Elements.Count;

//            Assert.AreEqual(15, actualdistinctlResultCount, "invalid number of results");  
//        }

   
//        ///// <summary>
//        /////A test for filter
//        /////</summary>
//        //[TestMethod()]
//        //public void filterTest()
//        //{
//        //    sQuery target = new sQuery(); // TODO: Initialize to an appropriate value
//        //    Func<sQuery, bool> exp = null; // TODO: Initialize to an appropriate value
//        //    sQuery expected = null; // TODO: Initialize to an appropriate value
//        //    sQuery actual;
//        //    actual = target.filter(exp);
//        //    Assert.AreEqual(expected, actual);
//        //    Assert.Inconclusive("Verify the correctness of this test method.");
//        //}

//        /// <summary>
//        ///A test for members
//        ///</summary>
//        [TestMethod()]
//        public void membersTest()
//        {
//            var model = utils.GetSampleModel();

//            sQuery target = utils.GetSampleUseCaseModel(model);
//            string parameter = ""; // TODO: Initialize to an appropriate value

//            sQuery actual;
//            actual = target.members(parameter);

//            Assert.AreEqual(68, actual.Elements.Count);          
//        }

//        ///// <summary>
//        /////A test for sortby
//        /////</summary>
//        //[TestMethod()]
//        //public void sortbyTest()
//        //{
//        //    sQuery target = new sQuery(); // TODO: Initialize to an appropriate value
//        //    string propertiesNames = string.Empty; // TODO: Initialize to an appropriate value
//        //    sQuery expected = null; // TODO: Initialize to an appropriate value
//        //    sQuery actual;
//        //    actual = target.sortby(propertiesNames);
//        //    Assert.AreEqual(expected, actual);
//        //    Assert.Inconclusive("Verify the correctness of this test method.");
//        //}

//        /// <summary>
//        ///A test for types
//        ///</summary>
//        [TestMethod()]
//        public void singleTypesTest()
//        {
//            var model = utils.GetSampleModel();

//            string typeNames = "Use Case Model";

//            var target = sQuery.New(model);

//            var actual = target.types(typeNames);
//            var actualResultCount = actual.Elements.Count;

//            Assert.AreEqual(15, actualResultCount, "invalid number of results");        
//        }

//        /// <summary>
//        ///A test for types
//        ///</summary>
//        [TestMethod()]
//        public void multipleTypesTest()
//        {
//            var model = utils.GetSampleModel();

//            string typeNames = "Use Case Model, Activity";

//            var target = sQuery.New(model);

//            var actual = target.types(typeNames);
//            var actualResultCount = actual.Elements.Count;

//            Assert.AreEqual(103, actualResultCount, "invalid number of results");          
//        }

//        ///// <summary>
//        /////A test for Value
//        /////</summary>
//        //[TestMethod()]
//        //public void ValueTest()
//        //{
//        //    sQuery target = new sQuery(); // TODO: Initialize to an appropriate value
//        //    string actual;
//        //    actual = target.Value;
//        //    Assert.Inconclusive("Verify the correctness of this test method.");
//        //}
//    }
//}
